1 /* 2 D bindings for gperftools(Google Performance Tools). 3 Authors: Prasun Anand 4 Copyright: Copyright (c) 2017, Prasun Anand. All rights reserved. 5 License: BSD 3-Clause License 6 */ 7 8 module gperftools_d.malloc_hook_c; 9 10 extern (C): 11 12 int MallocHook_GetCallerStackTrace ( 13 void** result, 14 int max_depth, 15 int skip_count); 16 17 18 alias MallocHook_NewHook = void function (const(void)* ptr, size_t size); 19 int MallocHook_AddNewHook (MallocHook_NewHook hook); 20 int MallocHook_RemoveNewHook (MallocHook_NewHook hook); 21 22 alias MallocHook_DeleteHook = void function (const(void)* ptr); 23 int MallocHook_AddDeleteHook (MallocHook_DeleteHook hook); 24 int MallocHook_RemoveDeleteHook (MallocHook_DeleteHook hook); 25 26 alias MallocHook_PreMmapHook = void function (const(void)* start, size_t size, int protection, int flags, int fd, int offset); 27 int MallocHook_AddPreMmapHook (MallocHook_PreMmapHook hook); 28 int MallocHook_RemovePreMmapHook (MallocHook_PreMmapHook hook); 29 30 alias MallocHook_MmapHook = void function (const(void)* result, const(void)* start, size_t size, int protection, int flags, int fd, int offset); 31 int MallocHook_AddMmapHook (MallocHook_MmapHook hook); 32 int MallocHook_RemoveMmapHook (MallocHook_MmapHook hook); 33 34 alias MallocHook_MmapReplacement = int function (const(void)* start, size_t size, int protection, int flags, int fd, int offset, void** result); 35 int MallocHook_SetMmapReplacement (MallocHook_MmapReplacement hook); 36 int MallocHook_RemoveMmapReplacement (MallocHook_MmapReplacement hook); 37 38 alias MallocHook_MunmapHook = void function (const(void)* ptr, size_t size); 39 int MallocHook_AddMunmapHook (MallocHook_MunmapHook hook); 40 int MallocHook_RemoveMunmapHook (MallocHook_MunmapHook hook); 41 42 alias MallocHook_MunmapReplacement = int function (const(void)* ptr, size_t size, int* result); 43 int MallocHook_SetMunmapReplacement (MallocHook_MunmapReplacement hook); 44 int MallocHook_RemoveMunmapReplacement (MallocHook_MunmapReplacement hook); 45 46 alias MallocHook_MremapHook = void function (const(void)* result, const(void)* old_addr, size_t old_size, size_t new_size, int flags, const(void)* new_addr); 47 int MallocHook_AddMremapHook (MallocHook_MremapHook hook); 48 int MallocHook_RemoveMremapHook (MallocHook_MremapHook hook); 49 50 alias MallocHook_PreSbrkHook = void function (ptrdiff_t increment); 51 int MallocHook_AddPreSbrkHook (MallocHook_PreSbrkHook hook); 52 int MallocHook_RemovePreSbrkHook (MallocHook_PreSbrkHook hook); 53 54 alias MallocHook_SbrkHook = void function (const(void)* result, ptrdiff_t increment); 55 int MallocHook_AddSbrkHook (MallocHook_SbrkHook hook); 56 int MallocHook_RemoveSbrkHook (MallocHook_SbrkHook hook); 57 58 MallocHook_NewHook MallocHook_SetNewHook (MallocHook_NewHook hook); 59 MallocHook_DeleteHook MallocHook_SetDeleteHook (MallocHook_DeleteHook hook); 60 MallocHook_PreMmapHook MallocHook_SetPreMmapHook (MallocHook_PreMmapHook hook); 61 MallocHook_MmapHook MallocHook_SetMmapHook (MallocHook_MmapHook hook); 62 MallocHook_MunmapHook MallocHook_SetMunmapHook (MallocHook_MunmapHook hook); 63 MallocHook_MremapHook MallocHook_SetMremapHook (MallocHook_MremapHook hook); 64 MallocHook_PreSbrkHook MallocHook_SetPreSbrkHook (MallocHook_PreSbrkHook hook); 65 MallocHook_SbrkHook MallocHook_SetSbrkHook (MallocHook_SbrkHook hook);